# -*- coding: utf-8 -*-
# Python中默认的编码格式是 ASCII 格式，在没修改编码格式时无法正确打印汉字，所以在读取中文时会报错。

# https://www.jianshu.com/p/5b01fb36fd4c

# 关键字with在不再需要访问文件后将关闭。
# with open("text_files/filename.text")as file_object:
# 对与open函数，必须加上as语句,以便获取文件的引用
# 但是每次都这么写实在太繁琐，所以，Python引入了with语句来自动帮我们调用close()方法，
# 所以open之后就不用再调用close方法来保存，即使有异常，文件还是会保存。

# file相关：
# https://www.runoob.com/python/file-methods.html
# Python open() 方法用于打开一个文件，并返回文件对象，在对文件进行处理过程都需要使用到这个函数，
# 如果该文件无法被打开，会抛出 OSError。
# 注意：使用 open() 方法一定要保证关闭文件对象，即调用 close() 方法。
# “因为你操作完以后, close()相当于关闭文件并保存文件 ,如果没有close(),就相当于你的操作就是失败的”

# r	以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
# rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
# w	打开一个文件只用于写入。如果该文件已存在则打开文件，并从开头开始编辑，即原有内容会被删除。
# 如果该文件不存在，创建新文件。
# wb	以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件，并从开头开始编辑，
# 即原有内容会被删除。如果该文件不存在，创建新文件。一般用于非文本文件如图片等。

import time

# with open('foo.txt', 'w') as f:
#     f.write("hello")                    # 不管原来是什么，都会弃掉，重新写。
#
# with open('foo.txt', 'rb') as f:
#     print(f.read())
#
with open('foo.txt', 'r') as f:
    for line in f:
        print(line,end="")
        time.sleep(0.5)

# 由于print()在打印时默认加了换行，所以加上。
# 1、如果文件输出有空行，直接取消print的换行即可。
# 2、给print()加一个取消自动换行的end=""参数：print(line,end="")。

#
# with open('foo.txt', mode='r') as f:
#     for line in f:
#         print(line, '')
#         time.sleep(0.5)

# https://www.cnblogs.com/phploser/p/12749335.html

# https://blog.csdn.net/haosen97/article/details/98472014

